/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Logistica.Controlador;

import com.dp1.pucp.Modelo.Clases.Tipoproducto;
import com.dp1.pucp.Logistica.DAO.*;
import com.dp1.pucp.Logistica.Vista.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

/**
 *
 * @author ubuntu64
 */
public class BuscarMateriaPrimaControlador {
    private TipoProductoDAO m;
    private BuscarMateriaPrimaGUI mantMateriaPrimaView;
    private MantTipoProductoGUI mantTipoView;
    private MantLineaPedidoCompraControlador mantLineaPedido;
    private AsignarInsumoProductoGUI asignarView;
    private LineaPedidoCompraGUI lineaPedidoView;
    private ArrayList<Tipoproducto> lstMateriaPrima;
    private ArrayList<String> lstTipo;

    public BuscarMateriaPrimaControlador(TipoProductoDAO dao, BuscarMateriaPrimaGUI v,AsignarInsumoProductoGUI q){
        m = dao;
        mantMateriaPrimaView = v;
        asignarView=q;
        //llenarTipoCombo();
        mantMateriaPrimaView.addSeleccionListener(new seleccionarMateriaPrima() );
        mantMateriaPrimaView.addBuscarListener(new listarMateriaPrima() );
        mantMateriaPrimaView.addLimpiarListener(new limpiarListener());
        mantMateriaPrimaView.addCancelarListener(new cancelarListener());
    }
    
    public BuscarMateriaPrimaControlador(TipoProductoDAO dao, BuscarMateriaPrimaGUI v,LineaPedidoCompraGUI q,MantLineaPedidoCompraControlador r){
        m = dao;
        mantMateriaPrimaView = v;
        lineaPedidoView=q;
        mantLineaPedido=r;
        //llenarTipoCombo();
        mantMateriaPrimaView.addCancelarListener(new cancelarListener());
        mantMateriaPrimaView.addSeleccionListener(new seleccionarLinea() );
        mantMateriaPrimaView.addBuscarListener(new listarMateriaPrima() );
        mantMateriaPrimaView.addLimpiarListener(new limpiarListener());

    }

      class listarMateriaPrima implements ActionListener
    {
        @Override
        public void actionPerformed(ActionEvent e) {
            listarResultados();
        }
    }
      
     public void listarResultados(){
        lstMateriaPrima = m.listarMateriaPrima();               
        mantMateriaPrimaView.llenaGrilla(lstMateriaPrima);        
    } 
      
      class seleccionarMateriaPrima implements ActionListener
    {
         
        private MantTipoProductoControlador buc;

        @Override
        public void actionPerformed(ActionEvent e) {
            int sel=mantMateriaPrimaView.getFilaSel();
            if (sel!=-1){
                
                //lstMateriaPrima = m.listarMateriaPrima(); 
                Tipoproducto u = lstMateriaPrima.get(sel);                
                
                //AsignarInsumoProductoControlador c = new AsignarInsumoProductoControlador(m,asignarView,buc,u,null,3,-1,u.getIdtipoproducto(),-1);
                AsignarInsumoProductoControlador c = new AsignarInsumoProductoControlador(m,asignarView,buc,u,null,3);
            }
            
            mantMateriaPrimaView.dispose();
        }
    }
      
   
    class seleccionarLinea implements ActionListener
    {
         
        private MantTipoProductoControlador buc;

        @Override
        public void actionPerformed(ActionEvent e) {
            int sel=mantMateriaPrimaView.getFilaSel();
            if (sel!=-1){
                
                //lstMateriaPrima = m.listarMateriaPrima(); 
                Tipoproducto u = lstMateriaPrima.get(sel);                
                
                //AsignarInsumoProductoControlador c = new AsignarInsumoProductoControlador(m,asignarView,buc,u,null,3,-1,u.getIdtipoproducto(),-1);
                LineaPedidoCompraControlador c = new LineaPedidoCompraControlador(m,lineaPedidoView,null,mantLineaPedido,null,u,null);
            }
            
            mantMateriaPrimaView.dispose();
        }
    }
          
    class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            mantMateriaPrimaView.LimpiarDatos();
        }        
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            mantMateriaPrimaView.dispose();
        }        
    } 
    
 
    
}
